﻿using FluentNHibernate.Mapping;
using SOLInfo.GEN.Domain.Entities;
using SOLInfo.GEN.Domain.VO;


namespace SOLInfo.GEN.Repository.Mappings
{
    public class GrupoMapping : ClassMap<Grupo>
    {
        public GrupoMapping()
        {
            Id(x => x.Codigo);
            Map(x => x.Nome);
            HasManyToMany<Usuario>(x => x.Usuarios)
                .Cascade.SaveUpdate()
                .Inverse()
                .Table("Usuario_Grupo");
            HasManyToMany<Regra>(x => x.Regras)
                .Cascade.SaveUpdate()
                .Table("Grupo_Regra");

            Component<Manutencao>(x => x.Criacao, MappingBase.MapManutencao("Criacao"));
            Component<Manutencao>(x => x.UltimaAlteracao, MappingBase.MapManutencao("Alteracao"));
        }
    }
}
